﻿using System.Collections.Generic;
using CodeGenerator.interfaces;

namespace CodeGenerator.interfaces
{
    public interface IForeignKey : IGenerableObject
    {
        string ForeignTableName { get;  }
        string ForeignKeyName { get; }
        IGeneratorClass ForeingClass { get; }
        IList<IDataBaseColumnPair> Columns { get; }
        string LocalVariableName { get; }
        string TableName { get; }
        string IndexName { get;  }
        /*
         * string SourceTableName { get; }
        IList<IDatabaseColumn> LocalColumns { get; }
        string ForeignTableName { get; }
        IList<IDatabaseColumn> ForeignColumns { get; } 
        *
        */
    }

    public interface IDataBaseColumnPair 
    {
        IDatabaseColumn LocalColumn { get; }
        IDatabaseColumn RemoteColumn { get; }
    }
    
}